package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import vista.VentanaListadoVenta;
import vista.VentanaListadoVentasModeloTabla;

import modelo.facade.Fachada;
import modelo.Producto;


public class ControladorVentanaListadoVenta implements ActionListener{

	private VentanaListadoVenta  ventanaListadoVentas;
	
	public ControladorVentanaListadoVenta() {
		super();
		this.ventanaListadoVentas = VentanaListadoVenta.getInstancia();
		this.ventanaListadoVentas.setVisible(true);
		this.ventanaListadoVentas.addListener(this);			
	}

	private void cargarPorCantidad(){
		Fachada fachada = new Fachada();
		List<Producto> productos = fachada.listadoVentasPorCantidad();
		this.ventanaListadoVentas.setResultados(new VentanaListadoVentasModeloTabla(productos));		
	}
	
	private void cargarPorMonto(){
		Fachada fachada = new Fachada();
		List<Producto> productos = fachada.listadoVentasPorMonto();
		this.ventanaListadoVentas.setResultados(new VentanaListadoVentasModeloTabla(productos));		
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		String actionCommand = e.getActionCommand();
		if (actionCommand.equals("Limpiar")) {
			ventanaListadoVentas.limpiarTabla();
		}		
		else if (actionCommand.equals("Salir")){
			this.ventanaListadoVentas.setVisible(false);
		}
		else if (actionCommand.equals("Por Cantidad")){
			cargarPorCantidad();
		}
		else if (actionCommand.equals("Por Monto")){
			cargarPorMonto();
		}
	}

}
